In translating a source code into an object code, an optimization called a register allocation is performed. Since the register resources of a processor are limited in general, there is a case in which data (for example, data of variables) to which a register may not be allocated is generated in allocating the register. Such a phenomenon is called a register overflow. When the register overflow occurs, the data is temporarily retreated to a memory, and the like. The retreated data is restored to the register when the register is back to usable.
Related technologies are disclosed in, for example, Japanese Laid-Open Patent Publication Nos. 2008-009957 and 10-293691.